<?php
// 上传目录
$uploadDir = __DIR__ . '/uploads/';

// 检查是否有文件名参数
if (!isset($_GET['file']) || empty($_GET['file'])) {
    die('文件名称不能为空');
}

// 安全过滤文件名
$fileName = basename(urldecode($_GET['file']));
$filePath = $uploadDir . $fileName;

// 检查文件是否存在
if (!file_exists($filePath) || !is_file($filePath)) {
    die('文件不存在');
}

// 安全检查：确保文件在上传目录内
if (strpos(realpath($filePath), realpath($uploadDir)) !== 0) {
    die('访问被拒绝');
}

// 设置下载头信息
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . $fileName . '"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($filePath));

// 读取文件并输出
readfile($filePath);
exit;
?>
    